// winutils.h
#ifndef WINUTILS_H
#define WINUTILS_H

#include <QObject>
#include <QString>
#include <windows.h>

namespace WinUtils {

/**
 * 通过窗口标题查找指定窗口
 * @param windowTitle 要查找的窗口标题
 * @return 找到的窗口句柄(HWND)，未找到时返回NULL
 */
HWND findWindowByTitle(const QString& windowTitle);

/**
 * 启动应用并等待窗口出现
 * 使用定时器循环检测指定窗口是否出现，并在找到后进行窗口操作
 * @param parent 定时器的父对象，用于内存管理
 * @param windowTitle 要等待的窗口标题
 * @param timeoutMs 最大等待时间（毫秒），默认1000ms
 * @param intervalMs 检查间隔（毫秒），默认200ms
 */
void startAndWaitForWindow(QObject* parent,
                           const QString& windowTitle,
                           int timeoutMs = 1000,
                           int intervalMs = 200);

} // namespace WinUtils

#endif // WINUTILS_H
